home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / comm / misc / zedzap05.lha / welmat.lng < prev    next >
Text File  |  1992-11-27  |  20KB  |  676 lines

  1.  ;
  2.  ; $Header: Welmat:src/RCS/welmat.lng,v 1.32 92/10/14 00:04:33 rwm Exp Locker: rwm $
  3.  ;
  4.  ;  This is an example config file, and is the one that I am currently running
  5.  ; on 163/109 (line 1) and 1:163/139 (line 2).  It is NOT reccomended that anyone
  6.  ; run this script exactly as it is shown as it is a 'testing' script where I
  7.  ; am doing many things that people would not be doing in a normal situation.
  8.  ; I am attempting to test all the features of Welmat, not to emulate the old
  9.  ; version of Welmat or to provide an example of the 'best' way to set things
  10.  ; up.
  11.  ;
  12.  ; If you do not use a section of a script, semicolon it out so that it will
  13.  ; not take up ram while you are RUNNING ;-)
  14.  ;
  15.  
  16.  ; Just in case a null jump is SubJump'd ;-)
  17.   Print "You Goofed up your config, eh!"
  18.   return
  19.  
  20.  ; Wow, We got a request to dial.
  21.  dodial:
  22.    ModemClear
  23.    PutLog "[$(line)] $<time> Trying To Connect To $(remote.address)"
  24.    set host.wzcap 13
  25.    system "welmat:Lookup $(remote.address) dh3:IGEN/ $(line) "
  26.    set remote.address ${$(line).address}
  27.    set remote.zone ${$(line).zone}
  28.    set remote.net ${$(line).net}
  29.    set remote.node ${$(line).node}
  30.    set remote.point ${$(line).point}
  31.    set remote.domain ${$(line).domain}
  32.    set remote.number ${$(line).number}
  33.    set remote.password ${$(line).password}
  34.    Jump dodial1
  35.  
  36.  dodial1:
  37.  ; The nodes that I will be calling
  38.    CmpI $(remote.number) ""
  39.    FalseJump dodial2
  40.    PutLog "[$(line)] $<time> I Do Not Know The Number For That Node"
  41.  ; reports back to the script that caused the dial that it couldn't dial
  42.    ReportSesStat 36
  43.    Jump waitring
  44.  
  45.  dodial2:
  46.    SmartSend "ATM1DT$(remote.number)|"
  47.  ; Set the slave state to 'Outbound'
  48.    Set state "DIALING"
  49.  ; Look for a modem response (60 + 15 seconds)
  50.    GetResponse 75
  51.    CmpI $(event) "CONNECT"
  52.    TrueJump callconnect
  53.    PutLog "[$(line)] $<time> $(EVENT) ($(lastresponse))"
  54.    CmpI $(event) "BUSY"
  55.    falseJump dodial3
  56.    set temp 5
  57.    jump dodial3
  58.  
  59.  dodial3:
  60.    PutLog "[$(line)] $<time> Session Result $(temp)"
  61.    ReportSesStat $(temp)
  62.    Jump waitring
  63.  
  64.  callconnect:
  65.    Set state "SESSION"
  66.    PutLog "[$(line)] $<time> $(lastresponse) ($(baud))"
  67.    PutLog "[$(line)] $<time> Connection Established"
  68.    Jump callconnect3
  69.  
  70.  callconnect3:
  71.  ; Send files destined to this site, regardless of YooHoo
  72.    set called $(remote.address)
  73.    Connected $(called)
  74.  ; don't allow 'request on us' type information, even though it's not possible
  75.  ; with the current protocols anyways.
  76.    set host.freq FALSE
  77.    GetOutbound
  78.  ; PutLog "[$(line)] $<time> GetOutbound: $(event) Wzcap:$(host.wzcap)"
  79.    PutLog "[$(line)] $<time> Connected To $(remote.address)"
  80.    CmpI $(event) WAZOO
  81.    FalseJump callconnect.1
  82.    PutLog "[$(line)] $<time> Remote Is Using 'WaZoo' Handshake"
  83.    CmpI $(called) $(remote.address)
  84.    TrueJump callconnect.2
  85.    PutLog "[$(line)] $<time> Expected $(called)"
  86.  
  87.    callconnect.2:
  88.    set IsOutbound TRUE
  89.    SubJump wazoo
  90.    set IsOutbound FALSE
  91.  ; $(remote.wzfreq) is a boolean - Send FREQ's anyways...
  92.    FindFreq $(called)
  93.    CmpI $(host.wzcap) 64
  94.    truejump dofunkyout
  95.    CmpI $(host.wzcap) 8
  96.    truejump zedzapout
  97.    CmpI $(host.wzcap) 4
  98.    truejump zedzipout
  99.    setmailerflags "DY,PN"
  100.    PutLog "[$(line)] $<time> Protocol:FTS-1/FTS-7"
  101.    XprSetup xprfts.library "$(ftsflags.$(remote.product))"
  102.    XprSend ""
  103.    XprClose
  104.    PutLog "[$(line)] $<time> Session Result $(RC)"
  105.    ReportSesStat $(RC)
  106.    Jump waitring
  107.  
  108.    callconnect.1:
  109.    CmpI $(event) FTS1
  110.    TrueSubJump showfts1
  111.    CmpI $(event) FTS1
  112.    TrueJump callconnect.2
  113.    ReportSesStat 99
  114.    Jump waitring
  115.  
  116.  showfts1:
  117.    PutLog "[$(line)] $<time> Remote Is Using 'FTS-1' Handshake"
  118.    return
  119.  
  120.  freeline:
  121.  ; close the modem to allow for another device to grab the line
  122.    ModemClose
  123.  ; an 'ewe-icky-kludge' to wait a bit.  TODO: Fix this
  124.    System "Wait 3"
  125.  
  126.  slaveloop:
  127.    SubJump setglobals
  128.    ModemOpen
  129.    Print "ModemOpen $(RC)\n"
  130.    TrueJump waitring
  131.  ; what about if it fails?  Maybe just exit the slave with a RETURN?
  132.  ; PutLog "Death, Drugs, and Dead modems!!!"
  133.    FlushLog
  134.    return
  135.  
  136.  ; HoldOnASec:
  137.  ; for some reason we may crash before we can do a modeminit
  138.  ; System "Wait 3"
  139.  
  140.  waitring:
  141.  ; Initialize the modem - Return is 'false' if init string not successfull.
  142.    ModemClear
  143.    ModemInit
  144.    Print "ModemInit $(RC)\n"
  145.    FalseJump freeline
  146.  ; Check the call queue for a call - Will set the appropriate variables if a
  147.  ; call was present, and return 'TRUE' in RC
  148.    CheckCall
  149.    Print "CheckCall $(RC)\n"
  150.    TrueJump dodial
  151.  ; Variable <abort> figures out the count of 'abort' requests.
  152.    set RC $<abort>
  153.    FalseJump waitring1
  154.      Print "Detected An Abort\n"
  155.      PutLog "[$(line)] $<time> Exiting Slave"
  156.      CmpI $<slaves> 1
  157.      TrueSubJump CheckZedZap
  158.      ModemClose
  159.      return
  160.  
  161.  CheckZedZap:
  162.    Print "Closing Final Slave\n"
  163.    CmpI $(OpenZedZap) 1
  164.    TrueSubJump CloseZedZap
  165.    return
  166.  
  167.  CloseZedZap:
  168.  ; reopen the library... only this time say we do not want to open the
  169.  ; dos.library... If any other program calls the library, it will appear
  170.  ; as if use_dos_lib is false (which is the default)
  171.    Print "zedzap.library was previously used\n"
  172.    XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,C$(BAUD),NY,M8192,UN
  173.  ; this will finally close the dos.library...
  174.    Print "closing xprzedzap.library\n"
  175.    XprClose
  176.    return
  177.  
  178.  waitring1:
  179.    CmpI $(state) "WAITING"
  180.    TrueJump waitring0
  181.    set state "WAITING"
  182.    PutLog "[$(line)] $<time> Waiting For A Call..."
  183.  
  184.  waitring0:
  185.    set OwnDevUnit TRUE
  186.  ; $(CallInterupt) sets whether a rexx CALL command will Interupt the GetResponse
  187.    set CallInterupt TRUE
  188.    GetResponse 45
  189.    set OwnDevUnit FALSE
  190.    set CallInterupt FALSE
  191.    CmpI $(event) OWNDEVUNIT
  192.    TrueJump freeline
  193.    CmpI $(event) "RING"
  194.    FalseJump waitring
  195.    set state "ANSWERING"
  196.    PutLog "[$(line)] $<time> Modem:$(lastresponse)"
  197.    PutLog "[$(line)] $<time> Detected An Inbound Call ; Answering"
  198.  ; Smartsend uses all the special characters while sending (~,`,^,v,|)
  199.    SmartSend "ATA|"
  200.    FlushLog
  201.  ; Set the slave state to "Inbound"
  202.    GetResponse 75
  203.    CmpI $(event) "CONNECT"
  204.    TrueJump waitring3
  205.    Jump waitring
  206.  
  207.  waitring3:
  208.    PutLog "[$(line)] $<time> Modem:$(lastResponse)"
  209.    PutLog "[$(line)] $<time> Connection Established At $(baud)bps"
  210.  ; Delay for 4 seconds - Delay requires an 'open modem' at the moment
  211.    Delay 4
  212.    ModemClear
  213.  
  214.  mconnect:
  215.    set temp "* Welcoming you with ${WelmatName} at $(host.address)\r\n"
  216.    Print $(temp)
  217.    Send $(temp)
  218.    Send "\r\n"
  219.    Send "[][][][][][][][][][][][][][][][][][][][][][][][][]\r\n"
  220.    Send "[]        Welcome to the Distant Contact        []\r\n"
  221.    Send "[] (the official Contact!-BBS development site) []\r\n"
  222.    Send "[]   supporting link rates of 300 to 14400bps   []\r\n"
  223.    Send "[][][][][][][][][][][][][][][][][][][][][][][][][]\r\n"
  224.    Send "\r\n"
  225.    Send "Please hit <ESC> twice to load the BBS\r\n"
  226.  ; clears the variable so that any memory is free'd.
  227.    Clear temp
  228.  ; check for the inbound event (YooHoo,Login,FTS1,etc)
  229.    set host.freq TRUE
  230.    GetInbound 60
  231.    CmpI $(event) LOGIN
  232.    FalseJump mconnect2
  233.      CmpI $(namebuf) "bbs"
  234.      TrueJump startbbs
  235.      CmpI $(namebuf) ""
  236.      TrueJump mconnect
  237.      Jump waitring
  238.  
  239.  startbbs:
  240.    set temp "-=>Loading BBS... Please wait about 10 seconds...\r\n"
  241.    Print $(temp)
  242.    Send $(temp)
  243.    clear temp
  244.    set stack 100000
  245.    set ShowSystem TRUE
  246.    System "execute startbbs $(baud)"
  247.    set ShowSystem FALSE
  248.    jump waitring
  249.  
  250.  mconnect2:
  251.    CmpI $(event) FTS1
  252.    FalseJump mconnect3
  253.    PutLog "[$(line)] $<time> Attempting 'FTS-1' Handshake"
  254.    setmailerflags "DY,PY"
  255.    Set remote.address 1:1/1.1
  256.  ; A guess at a good set of flags...
  257.    PutLog "[$(line)] $<time> Protocol:FTS-1/FTS-7"
  258.    XprSetup xprfts.library "7y,cy,ob,ib,sy,bn,an,ny,wy,fy"
  259.    XprReceive ""
  260.    XprClose
  261.    PutLog "[$(line)] $<time> Session Result $(RC)"
  262.    ReportSesStat $(RC)
  263.    Jump waitring
  264.  
  265.  mconnect3:
  266.    CmpI $(event) GOTYOOHOO
  267.    FalseJump mconnect4
  268.    PutLog "[$(line)] $<time> Attempting 'WaZoo' Handshake"
  269.    SubJump wazoo
  270.    FalseJump waitring
  271.    WazooRespond
  272.    CmpI $(event) 2U2
  273.    FalseJump waitring
  274.    PutLog "[$(line)] $<time> 'WaZoo' Handshake Successful"
  275.  ; Send files destined to the site
  276.    Connected $(remote.address)
  277.    CmpI $(host.wzcap) 64
  278.    truejump dofunkyin
  279.    CmpI $(host.wzcap) 8
  280.    truejump zedzapin
  281.    CmpI $(host.wzcap) 4
  282.    truejump zedzipin
  283.    setmailerflags "DY,PN"
  284.    PutLog "[$(line)] $<time> Protocol:FTS-1/FTS-7"
  285.    XprSetup xprfts.library "$(ftsflags.$(remote.product))"
  286.    XprReceive ""
  287.    XprClose
  288.    PutLog "[$(line)] $<time> Session Result $(RC)"
  289.    ReportSesStat $(RC)
  290.    Jump waitring
  291.  
  292.  mconnect4:
  293.    ReportSesStat 111
  294.    Jump waitring
  295.  
  296.  ; this subroutine is called when a file is successfully received.
  297.  filenotify:
  298.    set RC $(FTS1)
  299.    FalseJump filenotify1
  300.    PutLog "[$(line)] $<time> FTS1 Receive $(remfile) ($(recfile))"
  301.    Pattern $(remfile) #?.REQ
  302.    FalseJump filenotify0
  303.  ; file requests not handled in FTS1
  304.    return
  305.  
  306.  filenotify0:
  307.  ; set whatrun "run dh3:welmat/wnotify >>dh3:welmat/freq.log dh3:welmat/wnotify.cfg $(remfile) $(infile) \"$(remote.address)\" $(line)"
  308.  ; Print $(whatrun)
  309.  ; system $(whatrun)
  310.    return
  311.  
  312.  filenotify1:
  313.  ; Pattern $(remfile) #?.REQ
  314.  ; Falsejump filenotify0
  315.    set whatrun "run c:wnotify >>welmat:freq.log welmat:wnotify.cfg $(remfile) $(infile) \"$(remote.address)\" $(line)"
  316.    Print $(whatrun)
  317.    system $(whatrun)
  318.    return
  319.  
  320.  zedzipout:
  321.  ; Use dummy if no other files exist
  322.    PutLog "[$(line)] $<time> Protocol:ZedZip"
  323.    setmailerflags "DE,PN"
  324.    XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,C$(BAUD),NN,M1024,UY
  325.    set OpenZedZap 1
  326.    jump zmodemout
  327.  
  328.  zedzapout:
  329.  ; turn off the generation of the dummy poll packet
  330.    PutLog "[$(line)] $<time> Protocol:ZedZap"
  331.    setmailerflags "DN,PN"
  332.    XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,C$(BAUD),NY,M8192,UY
  333.    set OpenZedZap 1
  334.  
  335.  zmodemout:
  336.    PutLog "[$(line)] $<time> Starting Send"
  337.    XprSend ""
  338.    FalseJump zmodemclose
  339.    PutLog "[$(line)] $<time> (5 second turnaround)"
  340.    Delay 3
  341.    ModemClear
  342.    Delay 2
  343.    PutLog "[$(line)] $<time> Starting Receive"
  344.    XprReceive ""
  345.  
  346.  zmodemclose:
  347.    XprClose
  348.    PutLog "[$(line)] $<time> Session Result $(RC)"
  349.    ReportSesStat $(RC)
  350.    Jump waitring
  351.  
  352.  zedzipin:
  353.  ; Use dummy if no other files exist
  354.    PutLog "[$(line)] $<time> Protocol:ZedZip"
  355.    setmailerflags "DE,PN"
  356.    XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,C$(BAUD),NN,M1024,UY
  357.    set OpenZedZap 1
  358.    jump zmodemin
  359.  
  360.  zedzapin:
  361.  ; turn off the generation of the dummy poll packet
  362.    PutLog "[$(line)] $<time> Protocol:ZedZap"
  363.    setmailerflags "DN,PN"
  364.    XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,C$(BAUD),NY,M8192,UY
  365.    set OpenZedZap 1
  366.  
  367.  zmodemin:
  368.    PutLog "[$(line)] $<time> Starting Receive"
  369.    XprReceive ""
  370.    FalseJump zmodeminclose
  371.    PutLog "[$(line)] $<time> (5 second turnaround)"
  372.    Delay 3
  373.    ModemClear
  374.    Delay 2
  375.    PutLog "[$(line)] $<time> Starting Send"
  376.    XprSend ""
  377.  
  378.  zmodeminclose:
  379.    XprClose
  380.    PutLog "[$(line)] $<time> Session Result $(RC)"
  381.    ReportSesStat $(RC)
  382.    Jump waitring
  383.  
  384.  dofunkyin:
  385.    PutLog "[$(line)] $<time> Protocol:FunkyIn"
  386.    setmailerflags "DY,PN"
  387.    XprSetup xprfts.library $(TESTFLAGS)
  388.    XprReceive ""
  389.    XprClose
  390.    Print "Session Stat: $(RC)\n"
  391.    ReportSesStat $(RC)
  392.    Jump waitring
  393.  
  394.  dofunkyout:
  395.    PutLog "[$(line)] $<time> Protocol:FunkyOut"
  396.    setmailerflags "DY,PN"
  397.    XprSetup xprfts.library $(TESTFLAGS)
  398.    XprSend ""
  399.    XprClose
  400.    Print "Session Stat: $(RC)\n"
  401.    ReportSesStat $(RC)
  402.    Jump waitring
  403.  
  404.  ; called on both inbound and outbound after receiving a yoohoo
  405.  wazoo:
  406.    PutLog "[$(line)] $<time> $(remote.sitename) ($(remote.address))"
  407.    PutLog "[$(line)] $<time> Sysop: $(remote.sysop)"
  408.    system "c:wazoo $(remote.wzcap) $(line).YooHooCanDo"
  409.    PutLog "[$(line)] $<time> WaZoo Cap:${$(line).YooHooCanDo}"
  410.    CmpI $(host.wzcap) 1
  411.    falsejump wazoo.1
  412.    jump wazoo.4
  413.  
  414.    wazoo.1:
  415.    CmpI $(host.wzcap) 4
  416.    falsejump wazoo.2
  417.  ; ZedZip
  418.    jump wazoo.4
  419.  
  420.    wazoo.2:
  421.    CmpI $(host.wzcap) 8
  422.    falsejump wazoo.3
  423.  ; ZedZap
  424.    jump wazoo.4
  425.  
  426.    wazoo.3:
  427.  ; Testing
  428.  
  429.    wazoo.4:
  430.    set RC $(IsOutbound)
  431.    TrueJump wazoo2
  432.    Print "It's an Inbound?\n"
  433.    system "welmat:Lookup $(remote.address) dh3:IGEN/ $(line)"
  434.  ; node was found!
  435.    CmpI ${$(line).password} ""
  436.    TrueJump wazoo4
  437.  ; there is a password
  438.    CmpI ${$(line).password} $(remote.password)
  439.    TrueJump wazoo3
  440.    PutLog "[$(line)] $<time> Password Error: There:'$(remote.password)' Here:'${$(line).password}'"
  441.    set RC FALSE
  442.    return
  443.  
  444.  wazoo2:
  445.    CmpI $(mailername.$(remote.product)) ""
  446.    truejump wazoo2.1
  447.    PutLog "[$(line)] $<time> Remote Uses $(mailername.$(remote.product)) v$(remote.product_maj).$(remote.product_min)"
  448.    jump wazoo2.2
  449.  
  450.    wazoo2.1:
  451.    PutLog "[$(line)] $<time> Remote Uses Prod:$(remote.product) v$(remote.product_maj).$(remote.product_min)"
  452.  
  453.    wazoo2.2:
  454.    set RC TRUE
  455.    return
  456.  
  457.  wazoo3:
  458.    PutLog "[$(line)] $<time> <Password Protected Session>"
  459.    Jump wazoo2
  460.  
  461.  wazoo4:
  462.    PutLog "[$(line)] $<time> <No Password Set>"
  463.    Jump wazoo2
  464.    return
  465.  
  466.  setglobals:
  467.  ; This section should give a good idea of what variables are used by
  468.  ; Welmat's system.
  469.  ; clear temporary variables - As well as for documentation purposes, it will
  470.  ; free up some memory for ya ;-)
  471.    Clear event fts1 infile isoutbound whatrun
  472.    Clear remfile remote.address remote.cost remote.domain remote.flags
  473.    Clear remote.maxbaud remote.net remote.node remote.point remote.zone
  474.    Clear remote.number remote.product remote.product_maj remote.product_min
  475.    Clear remote.sitename remote.sysop remote.wzcap remote.wzdomain remote.password
  476.    Clear NameBuf OwnDevUnit UserName
  477.  ; System set up variables cleared.
  478.    Clear process Workbench RC Result2
  479.  ; Reset constants
  480.  ; Inbound directory used to place inbound files - '/' required.
  481.    set inbound "Mail:Inbound/"
  482.  ; used by PutLog and FlushLog
  483.    set currentlog all
  484.  ; directory to look for 'special' files such as 2-d and 4-d .REQ files.
  485.    set outbound "Mail:Outbound/"
  486.    set pickup "TRUE" trywazoo "TRUE" tryfts1 "TRUE"
  487.  ; set wfnotify "filenotify" stack 32000
  488.    set MaxSendPri 127 MinSendPri -127
  489.    set BufferSize 8192
  490.    set host.address "FidoNet#1:109/456.0"
  491.    set host.zone 1
  492.    set host.net 109
  493.    set host.node 456
  494.    set host.point 0
  495.    set host.domain "FidoNet"
  496.    set host.sysop "Yves Konigshofer"
  497.    set host.Sitename "The Distant Contact"
  498.    set host.wzdomain "FidoNet"
  499.  ; Variables used by ModemInit
  500.    set InitLoop          8
  501.    set InitWait          3
  502.    set Prompt            OK
  503.    set Atten        $(atten)
  504.    set HangupString $(hangupstring)
  505.    set InitString   $(initstring)
  506.    set host.wzcap 13
  507.    set device $(device) unit $(unit) serflags $(serflags)
  508.    set Baud         $(baud)
  509.    set BaudLocked   $(baudlocked)
  510.    set DTR_Control  $(dtr_control)
  511.    set Locked       $(locked)
  512.    set SlowModem    $(slowmodem)
  513.    ; Set the label that Welmat will go to when it start and ends a send or receive
  514.    ; of a file in the XPR interface.
  515.    ; (Set the value equal to the name of the variable itself to make life simple)
  516.    set postinbound postinbound postoutbound postoutbound
  517.    set preinbound preinbound preoutbound preoutbound
  518.  
  519.    set mailername.0 "MelMail"
  520.    set ftsflags.0 "ot"
  521.    set mailername.1 "Rover"
  522.    set mailername.2 "SEAdog"
  523.    set mailername.4 "Slick-150"
  524.    set mailername.5 "Opus"
  525.    set mailername.6 "Dutchie"
  526.    set mailername.8 "Tabby"
  527.    set mailername.10 "Wolf-68k"
  528.    set mailername.11 "QMM"
  529.    set mailername.12 "FrontDoor"
  530.    set mailername.19 "GS-Point"
  531.    set mailername.26 "D'Bridge"
  532.    set mailername.27 "BinkleyTerm"
  533.    set mailername.30 "Daisy"
  534.    set mailername.31 "Polar Bear"
  535.    set mailername.32 "The-Box"
  536.    set mailername.33 "STARgate/2"
  537.    set mailername.35 "TCOMMail"
  538.    set mailername.36 "Banana"
  539.    set mailername.37 "RBBSMail"
  540.    set mailername.38 "Apple-Netmail"
  541.    set mailername.39 "Chameleon"
  542.    set mailername.40 "Majik Board"
  543.    set mailername.49 "Rose"
  544.    set mailername.50 "Paragon"
  545.    set mailername.51 "BinkleyTerm/ST"
  546.    set mailername.52 "StarNet"
  547.    set mailername.54 "QEcho"
  548.    set mailername.56 "PBBS"
  549.    set mailername.57 "TrapDoor"
  550.    set mailername.58 "Welmat"
  551.    ; Welmat doesn't need MDM7 stuff, but does allow for big filenames
  552.    ; Flags for old Welmats that are doing DietIFNA.
  553.    set ftsflags.58 "7n,by"
  554.    set mailername.60 "Odie"
  555.    set mailername.61 "Quick Gimme"
  556.    set mailername.62 "dbLink"
  557.    set mailername.64 "Beagle"
  558.    set mailername.65 "Igor"
  559.    set mailername.66 "TIMS"
  560.    set mailername.67 "Isis"
  561.    set mailername.68 "AirMail"
  562.    set mailername.74 "BIX-Mail"
  563.    set mailername.78 "Lora-CBIS"
  564.    set mailername.79 "TDCS"
  565.    set mailername.80 "InterMail"
  566.    set mailername.84 "QBoxMail"
  567.    set mailername.85 "Number 4"
  568.    set mailername.86 "Number 5"
  569.    set mailername.88 "Merlin"
  570.    set mailername.91 "Outpost"
  571.    set mailername.94 "rfmail"
  572.    set mailername.96 "InfoTex"
  573.    set mailername.100 "RC-RAIN"
  574.    set mailername.101 "Truffle"
  575.    set mailername.103 "White Pointer"
  576.    set mailername.105 "Portal of Power"
  577.    set mailername.106 "MacWoof"
  578.    ; Will work with Steve to see what the flags should be.
  579.    set ftsflags.106 ""
  580.    set mailername.109 "HandyMail"
  581.    set mailername.113 "Benjamin"
  582.    set mailername.114 "RiBBS"
  583.    set mailername.117 "Door2Europe"
  584.    set mailername.118 "SWIFT"
  585.    set mailername.121 "Harry the Dirty Dog"
  586.    set mailername.148 "Fone-Link"
  587.    set mailername.152 "DoorMan"
  588.    set mailername.154 "SCREAM"
  589.    set mailername.155 "MoonMail"
  590.    set mailername.157 "MailLink"
  591.    set mailername.159 "Black Star"
  592.    set mailername.161 "PT"
  593.    set mailername.162 "UltiMail"
  594.    set mailername.166 "Foodo"
  595.    set mailername.168 "Boston"
  596.    set mailername.169 "XenoMail"
  597.    set mailername.170 "Xenolink"
  598.    set mailername.172 "MilqueToast"
  599.    set mailername.181 "CommLink"
  600.    set mailername.191 "NextBBS"
  601.    set mailername.196 "ProMailer"
  602.    set mailername.197 "Mega Mail"
  603.    set mailername.202 "Arc-Binkley"
  604.    set mailername.205 "NMS"
  605.    set mailername.206 "BBSCSCAN"
  606.    set mailername.208 "LoTek"
  607.  
  608.    return
  609.  
  610.  preinbound:
  611.    PutLog "[$(line)] $<time> Receiving: $(tempfile) ($(remfile))"
  612.    return
  613.  
  614.  postinbound:
  615.    PutLog "[$(line)] $<time> $(filestatus): $(infile) ($(remfile))"
  616.  ; check to make sure the file was 'received'.
  617.    FalseReturn
  618.    PutLog "[$(line)] $<time> CPS $(CPS) ($(CPSP)%) FileSize: $(filesize) bytes"
  619.    jump filenotify
  620.  
  621.  preoutbound:
  622.    PutLog "[$(line)] $<time> Sending: $(localfile) ($(filesize) bytes)"
  623.    PutLog "[$(line)] $<time> Remote Name: $(remfile)"
  624.    return
  625.  
  626.  postoutbound:
  627.    PutLog "[$(line)] $<time> $(filestatus): $(localfile)"
  628.  ; Check to make sure the file was 'sent'.
  629.    FalseReturn
  630.    PutLog "[$(line)] $<time> CPS $(CPS) ($(CPSP)%) FileSize: $(filesize) bytes"
  631.    return
  632.  
  633.  startup-1:
  634.  ; USR v.32bis
  635.    setbaud 19200
  636.    SetStatus "RAW:0/143/664/85/Status Window/NOSIZE/NODRAG/INACTIVE/SCREEN Welmat's Public Screen"
  637.    Print "Opened Status Window\n"
  638.    AddResponse busy "BUSY"
  639.    AddResponse maid "NO CARRIER"
  640.    AddResponse line "NO DIAL TONE"
  641.    AddResponse 300 "CONNECT"
  642.    AddResponse find "CONNECT %d"
  643.    AddResponse ring "RING"
  644.    ; Sets $(baud) and $(baudlocked) and will set device baud rate if device
  645.    ; is open
  646.    set device "serial.device" unit 0 serflags 180 DTR_Control 1
  647.    Print "Current Baud Rate:$(baud)\n"
  648.    set Atten             ~~~AT|
  649.    set HangupString      ~~~v~~~^~~~|~ATH0|
  650.    set InitString        ~~~ATZ|
  651.    set Locked TRUE
  652.    set SlowModem FALSE
  653.    jump slaveloop
  654.  
  655.  startup:
  656.  ; For logging purposes.
  657.    set line M
  658.    set currentlog all
  659.    PutLog "[$(line)] $<time> Startup On $<date> With ${WelmatName}"
  660.  ; Interesting way to log the output of a program.
  661.  ; The only problem is the extra return character.
  662.    system "version >env:version"
  663.    PutLog "[$(line)] $<time> ${version}"
  664.    set stack 100000
  665.  ; Launch the real slaves.
  666.  ; The parameters are  <slave> <msg port name> <startup func>
  667.    Launch 1 SLAVE1 startup-1
  668.  ; Log the numer of slaves, and then exit this slave as it is just used to
  669.  ; properly launch the other slaves at the moment.  This whole thing will
  670.  ; go away when welmat.library exists.
  671.    PutLog "[$(line)] $<time> Started $<slaves> Slaves"
  672.    PutLog "[$(line)] $<time> SuperSlave Exiting..."
  673.  ; SetStatus "NIL:welmat.out"
  674.    set RC 0
  675.    return
  676.